using System;

namespace _1._1
{
    internal class _1
    {
        static void Main()
        {
            try
            {
                // 提示用户输入第一个数字
                Console.Write("请输入第一个数字: ");
                double num1 = double.Parse(Console.ReadLine());

                // 提示用户输入运算符
                Console.Write("请输入运算符 (+, -, *, /): ");
                string op = Console.ReadLine();

                // 提示用户输入第二个数字
                Console.Write("请输入第二个数字: ");
                double num2 = double.Parse(Console.ReadLine());

                double result = PerformCalculation(num1, op, num2);

                // 输出计算结果
                Console.WriteLine($"{num1} {op} {num2} = {result}");
            }
            catch (FormatException)
            {
                Console.WriteLine("错误：输入的不是有效的数字。");
            }
            catch (DivideByZeroException)
            {
                Console.WriteLine("错误：除数不能为零。");
            }
            catch (ArgumentException)
            {
                Console.WriteLine("错误：无效的运算符。");
            }
        }

        static double PerformCalculation(double num1, string op, double num2)
        {
            switch (op)
            {
                case "+":
                    return num1 + num2;
                case "-":
                    return num1 - num2;
                case "*":
                    return num1 * num2;
                case "/":
                    if (num2 == 0)
                    {
                        throw new DivideByZeroException();
                    }
                    return num1 / num2;
                default:
                    throw new ArgumentException("无效的运算符");
            }
        }
    }
}